package com.sky.service;

import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;

import java.util.List;

public interface CategoryService {

/**
 * 分页查询分类信息
 * 
 * @param dto 分类分页查询条件数据传输对象
 * @return PageResult 分页查询结果，包含分类列表及分页信息
 */
    PageResult page(CategoryPageQueryDTO dto);

/**
 * 添加分类的方法
 * @param dto 分类数据传输对象，包含分类的相关信息
 */
    void addCategory(CategoryDTO dto);

/**
 * 更新状态的方法
 * @param status 要更新的状态值
 * @param id 需要更新的记录ID
 */
    void updateStatus(Integer status, Long id);

/**
 * 根据ID获取分类信息
 * @param id 分类ID
 * @return 返回对应的分类对象，如果未找到则可能返回null
 */
    Category getCategoryById(Long id);

    void deleteCategoryById(Long id);

    void updateCategory(CategoryDTO dto);

    List<Category> getByType(Integer type);
}
